﻿using System;
using System.IO;
using System.Collections.Generic;
using AttachmentModule.Dime;
using System.Xml;
using Coordenadas;
using System.Windows.Forms;
namespace LectorXML
{
    /// <summary>
    /// Emergencias del server: supernova.dcc.uchile.cl
    /// </summary>
    public class XMLLlamadosSupernova:XMLLlamados
    {
        //---atributos
        private Central2.Emergencia proxy;
        XmlDocument xdoc;


        //---constructor
        public XMLLlamadosSupernova(string url)
        {
             proxy = new Central2.Emergencia(url);
        }


        //---métodos
        public XmlDocument XML()
        {
            XmlNode xn = String2XmlNode(this.proxy.Llamados());
            xdoc = new XmlDocument();
            xdoc.ImportNode(xn, true);
            return this.xdoc;
        }


        //---obtener la lista de emergencias
        public XmlNodeList Llamados()
        {
            XmlNode xn;
            try
            {
                xn = String2XmlNode( this.proxy.Llamados());
            }
            catch (Exception)
            {
                try
                {
                    xn = String2XmlNode(this.proxy.Llamados());
                }
                catch (Exception)
                {
                    xn = null;
                    return null;
                }
            }
            return xn.SelectNodes("//llamado");
        }


        //---obtener una las los carros de una emergencia en específico.
        public XmlNode Llamado(string numero)
        {
            //return this.proxy.LlamadoGET(numero);
            return String2XmlNode(this.proxy.CarrosEmergencia(numero));
        }


        //---transformar de un texto a XML (en php devuelve en texto)
        private XmlNode String2XmlNode(string _texto) { 
            XmlDocument tmpXmlNode;
            tmpXmlNode= new XmlDocument();
            tmpXmlNode.LoadXml(_texto);
            return tmpXmlNode;
        }
    }
}